Envelope addressing system adapted to simultaneously print addresses and bar codes

ABSTRACT

A structure for printing at least four elongated address lines allows maximum efficiency in the grouping together of print heads used for the printing. One print head is provided for each of the address lines, and the print heads are mounted so at least two of the print heads overlap each other, the overlapping print heads not being those for consecutive address lines. This means the print heads are positioned so that they are not in sequence with the numbers of the lines being printed. Transport rolls are mounted at either end of the print head with no other transport rollers or transporting structures between the print heads, and an electronic controller varies the time each of the print heads starts to print to correspond to the spacing of that print head so that all the lines may be printed with an aligned margin.

This is a division of application Ser. No. 07/582,012, filed Sep. 4,1990, which in turn is a continuation of Ser. No. 07/234,259 filed Aug.19, 1988, now abandoned which in turn is a continuation-in-part ofapplication Ser. No. 06/918,122, filed Oct. 14, 1986 now abandoned.

FIELD OF THE INVENTION

This invention relates to the field of envelope addressing systems. Inparticular, it relates to systems that imprint a bar code address at thesame time as imprinting the normal, legible address.

The Post Office is beginning to utilize automated mail sorters whichsort envelopes on the basis of a zip code encoded as a machine-readablebar code. Such encoded bar code, to be acceptable, must meet strictspecifications as to size, spacing of bars, and placement upon theenvelope. Accordingly, there is a need for an accurate, but relativelyinexpensive office machine that will print such bar codes at the sametime as it imprints the legible address.

BRIEF SUMMARY OF THE INVENTION

A computer-controlled addressing system is provided that is capable ofrapidly addressing envelopes in legible print and at the same timeimprinting the zip code in a predetermined bar code format at aspecified location on the envelope. This is done by printing the threeto five lines of legible address and the line of bar code in parallel.

The envelopes are fed one at a time lengthwise from one end to an arrayof dot matrix printer heads, one for each line. There is one printerhead for each line, and the heads are offset to permit concurrent,serial printing of all the lines at once. The spacing of the text alongthe lines is controlled by software associated with an internal systemcontroller. The envelope moves longitudinally, at a constant speed,during printing.

Envelopes are fed from a stack placed in a sloping bin adjacent to theprint heads. A lobed feed roller serves to vibrate the stack while adriven feed roller at the lower end serves to draw envelopes in througha gate one at a time.

Transport rollers, together with envelope-detecting sensors, synchronizeflow of individual envelopes under the print heads. These rollers arebiased to press the lower longitudinal edge of each envelope against aback fence during printing so that accurate alignment is achieved forthe bar code.

To enhance uniformity between characters and left justification, all ofthe print head array is located between two proximate pairs of transportrollers, and the "start print" sensor is located after the pair oftransport rollers last passed through before printing commences.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of the bar code addressing system of ourinvention. The envelope feeding bin is seen to the right. Envelopes arefed from the bottom of the stack and move towards the left through theunit.

FIG. 2 is a portion of the face of an envelope showing thelegibly-printed address and the line of bar code towards the bottomedge.

FIG. 3 is an enlarged portion of the bar code, showing how it is made upof dots printed by a dot matrix printer.

FIG. 4 is a top plan view of our addresser. The cover has been removedto show some of the inner structure.

FIG. 5 is a left elevation, with the cover removed and partially brokenaway to show the print head array.

FIG. 6 is a vertical section from the front, taken on line 6--6 of FIG.5. It shows the envelope feed mechanism and flow, the feed controlsensors, and the printing heads.

FIG. 7 is a vertical section, taken on line 7--7 of FIG. 4, showingdetails of the print heads.

FIG. 8 is a vertical section, taken on line 8--8 of FIG. 4, showing onepair of drive rollers.

FIG. 9 is a vertical section from the front, taken on line 9--9 of FIG.4, showing details of the envelope feed.

FIG. 10 is a generalized flow chart showing its interrelationship withthe timing control wheel.

FIGS. 11, 12, and 13 are flow charts describing the control software.

DETAILED DESCRIPTION OF THE INVENTION Background

The addition of machine-readable bar code on the face of envelopes toencode delivery zip codes allows mail to be sorted at a much faster pacethan would otherwise be, thus allowing mail to be delivered more quicklyand more economically. Such efficiency is enhanced if the human-readableaddress can be imprinted at the same time.

Achievement of this efficiency is made possible by precise placement ofthe address, and particularly the bar code, on the envelope inaccordance to rigid specifications.

To satisfy the Postal regulations, the bar code must start 4 inches fromthe right-hand edge of the envelope (with a maximum error of +0 and-1/8"). It must be 1/4"±1/16" from the bottom edge, have bars of0.050±0.010 and 0.125±0.010 in height, 0.020±0.005 in width andhorizontal spacing of bars of 21±1 bars per inch. The bar codeaddressing system of our invention meets these requirements.

Until now, one wishing to produce a mass mailing first had to printlabels on a conventional printer and then affix the labels to envelopes,all at a substantial cost. The present system, by contrast, will receivethese addresses directly from the user's computer data base and willprint five-line addresses, together with a proper bar code, directlyupon the envelopes, all in a single pass while the envelope iscontinually moving at a constant speed. The five address lines and thebar code line will be printed simultaneously, in parallel, with theprinting being done lengthwise of each line.

An effort has been made in the past to print lines in parallel. Thesystem required specially designed, thin dot printer heads, so the headscould be positioned one next to the other. An example of this will befound in Matschke U.S. Pat. No. 4,462,706 and in his related U.S. Pat.Nos. 4,134,691 and 4,218,148.

Another prior envelope printer utilized a single 64-wire print head forprinting multiple lines on envelopes longitudinally. However, itincluded no means for tracking envelope position to assure preciselypositioned printing and used changing speeds of movement of the envelopeduring the printing cycle.

Broad Description of The System

The addresser, i.e., the assembled unit for our bar code addressingsystem, is generally shown in the perspective view of FIG. 1; a sampleaddressed envelope, in FIG. 2; and an enlarged section of bar code, inFIG. 3.

Addresser 1 includes housing 3 and envelope bin 5 (containing envelopes7). There is a control panel 9. The housing contains feed rollers,transport rollers, print heads and related gear, envelope positionsensors, timing mechanisms and an internal system controller, all ofwhich are described in more detail below.

The envelopes 7 to be addressed are placed in bin 5, and the addresseroperated through control panel 9. The envelopes 7 will have imprinted onthem a human-readable address 11 of up to five lines and amachine-readable bar code 13. The bar code is a series of long verticallines 17 and short vertical lines 19. Each of the lines is formed of aseries of dots 15 from a dot matrix print head. The bar code will bepositioned parallel to, and proximate to, the lower edge 8 of envelope7. The position of bar code 13 and the length and spacing of bars 17 and19 will conform to the Postal regulations.

The printing itself occurs within the housing 3. Envelopes 7, with loweredge 8 against the back wall of bin 5, are drawn into the housingthrough nip 51 by feed roller 41, which is adapted to draw one envelopeat a time from envelope bin 5. Thereafter, the envelopes are drawnthrough addresser 1 by a series of transport rollers 61, 67, 69, and 71.

Once inside the housing 3, the envelopes actuate position sensors 101,102, and 103 which control envelope movement and cause an array 77 ofprint heads to print the address 11 and bar code 13 in the properposition, the last letters and bars of each line being printed first.Sensor 102, which is between the last pair of transport rollers 67passed before printing and before the first of the print heads, or is inline with the first of the print heads (81 and 83, FIG. 4), ispreferably used to control "Start print".

There is a print head for each line, and the print heads arelongitudinally offset relative to one another, as seen in FIG. 4, topermit close spacing. We refer to this print head arrangement, in whichthe printing is done in parallel, with varying line starting times, andin which some of the print heads which are not adjacent (separated byone or more lines) starting at substantially the same times, as anon-sequential, staggered print head array.

"Start" times for the individual print heads are adjusted to correlatewith the extent of offset.

The addresses printed initially come from a data base within theexternal computer 123. They have been transferred to the internal systemcontroller 121. The controller has been programmed to print theaddresses 11 in reverse sequence and to determine, and to controlprinting of, the proper bar codes 13 for the particular address. It isprogrammed to recognize the zip code in the address and to convert it tobar code. Reverse sequence is used because the envelopes are fed withthe right-hand edge as the leading edge.

The bar code used is the one specified by the Postal service.

The Envelope Feed

In printing envelopes, it is important that the envelopes be fed to theprinter exactly one at a time, and that one be fed every time.

The envelope feed structure of our invention is shown in FIGS. 1, 4, 6,and 9. This includes envelope feed bin 5, having a bottom surface 29,sloping downwardly in the direction of desired feed, a feed wall 31,against which the envelopes 7 press as a result of the slope of bottomsurface 29, a back wall 33, and a slidable fence 34. After adjusting theslidable fence 34 so that the stack of envelopes will fit loosely, butin position within the bin, the envelopes 7 are placed in the bin 5 faceup, with their lower edges 8 against back wall 33.

The bottom surface 29 includes a transverse opening or slot 30,centrally of the stack of envelopes, through which projects the upperportion of first feed roller 35. This roller has a frictional surfacewith lobes 36 (FIG. 6). In our preferred form, the lobes on feed roller35 provide an inner diameter of 11/8 inch and an outer diameter of 13/8inch.

Feed roller 35 is driven through clutch 42 and is mounted on one-wayroller bearings, so as to rotate freely (when clutch 42 is disengaged)only in the direction of desired motion of the envelopes (towards thefeed wall 31). Upon rotation, roller 35, due to its lobed, highfrictional, irregular shape, serves to jiggle or vibrate the stack ofenvelopes 7, so as to be certain that the stack of envelopes movesdownwardly (that none get "hung up"), and also to push the lowermostenvelope towards control surface 45.

Below feed wall 31 is a gate 32 having a rounded or cylindrical controlsurface 45. A transverse opening or nip 51 is formed between the lowerportion of surface 45 and second feed roller 41. The upper surface ofsecond feed roller 41 is approximately in the plane of surface 29 and,in effect, forms an extension of that surface. Like feed roller 35,roller 41 has a surface with envelope-engaging friction and is mountedand driven through one-way bearings, so as to rotate freely in thedirection of the desired motion of the envelopes when clutch 42 isdisengaged. Rollers 35 and 41 are coupled through coupling gears 43, andso are driven and act as one. For better control, feed rollers 35 and 41should be single, integral (not segmented) rollers having a lengthgreater than the width of the envelope.

The cylindrical control surface 45, shaped like a roller (and having adiameter of, say, one inch), is positioned above second feed roller 41.Surface 45 and roller 41 are spaced apart by a distance that isadjustable and just sufficient to permit the passage of a singleenvelope through the nip 51 formed by the two. Surface 45, in the niparea at 47, is relatively frictionless (having less friction than roller41), being made of a smooth, durable material such as Lexan orteflon-impregnated, hard-coated aluminum. Above the frictionless area47, is a highly frictional area 49, measuring about 15° of arc, which,we have found, can be made, for example, of fine emery cloth or finesandpaper (grade 220 works successfully). This will contact the ends ofthe next lowest envelope and a few above it (depending upon thickness).Above area 49, and partially overlapping it, is a low friction surface44, made of polyester plastic tape which slightly overlaps thefrictional area 47. This permits the envelopes to freely drop until theyreach frictional area 49.

The control surface 45 in conjunction with feed roller 41 provides for apositive feed of only single envelopes in seriatim, since a secondenvelope above the first would be prevented from moving by thefrictional engagement of its leading edge with the high frictionalsurface 49.

The spacing of the nip 51 as well as the space between the print heads81, 83, 85, 87, 89, and 92 and platen 75 can be varied by means ofeccentrics 53 and 55 which turn simultaneously via anti-backlash chain56. Eccentric 53 is positioned in a slot 54 in the cylinder formingcontrol surface 45 which is slidably mounted on either end and guided bypins 37. Rotation of the eccentric 53 serves to lift the control surface45, thus varying the size of the nip 51. The eccentric is made of metaland fits snugly within the slot 54 (made of polycarbonate plastic) toprevent backlash movement of the control surface 45.

The envelope feed mechanism operates on a signal from the internalsystem controller 121. This causes both feed rollers 35 and 41 to rotatein a direction such that their upper surfaces move the lowermostenvelope 7 in the direction of the printing heads (described below).Because of its irregular shape, roller 35 serves to vibrate the stack ofenvelopes and to cause the lowermost envelope, which may have been heldby friction surface 49, to drop down to the nip 51 between feed roller41 and control surface 45. Roller 41 then drives this lowermost envelopelongitudinally to the first set of transport rollers 61 leading to theprint heads.

Once the transport rollers 61 have received the envelope from the nip51, they draw it forward. When the leading edge of the envelope actuatesposition sensor 103, described below, clutch 42, controlling the drivefor rollers 35 and 41, is disengaged, and the feed rollers 35 and 41 areno longer driven. The envelope can continue to move on the feed rollers35 and 41, however, since these rollers are free to rotate on theirone-way roller bearings.

The Transport Rollers

The transport rollers are shown in FIGS. 4, 5, 6, 7, and 8. They serveto draw the envelopes 7 over the printing platen 75 and beneath theprint head array 77 for printing, to control the speed of movement ofthe envelopes beneath the print head array 77 so as to enablesynchronization of the envelope motion with the rate of printing, and toeject the envelopes 7 after printing. For better control, transportrollers should be single, integral (not segmented) rollers having alength greater than the width of the envelopes being printed.

There are pairs of sets of transport rollers 61 and 67 to carry theenvelopes 7 to the printing platen 75, and two pairs 69 and 71 to carrythe envelopes away from platen 75. Set 61 is exemplary. It contains anupper roller 63 and a lower driven roller 65, both having elastomeric,frictional surfaces, such as rubber.

The two rollers 63 and 65 are interconnected by loop springs 62 and 64,one at each end of the rollers, spring-pressing the rollers together.The spring tension is greater on the back (inner) ends of the rollers.This differential tension gives the back end of the drive roller 65 asmaller effective diameter than the front end. The resulting differencein surface speed along the length of the drive roller 65 serves to forcethe envelope 7 rearwardly against vertical fence 79 as the envelopepasses through the rollers 63 and 65. The same also applies to rollersets 67, 69, and 71. The pressure towards fence 79 presses envelope edge8 tightly against fence 79 and so provides proper alignment and spacingwhile the bar code 13 is being printed. This is important due to thefact that the address and bar code must be precisely positioned on theenvelope to meet the U.S. Postal Service specifications. Preferably,fence 79 is in the same plane as back wall 33.

All four sets of transport rollers 61, 67, 69, and 71 are designed sothat the bottom rollers are gear driven. Their drives are interconnectedwith motor 57 and operate at the same speed. They also operate at thesame surface speed as the feed rollers 35 and 41. The top rollers arefree to float in the vertical direction (subject to the pressures of theloop springs). This is necessary to accommodate envelopes of variousthicknesses and is done by mounting the ends of the top rollers inbushings which are free to slide in slots and which are held to thelower rollers with springs. The envelope passes through the transportrollers in the sequence 61, 67, 69, 71.

The pair of transport rollers 67 are the last pair which the envelopepasses through prior to printing; and pair 69 is the first pair theenvelope passes through after printing (see FIG. 4). We refer to thesepairs as proximate. As can be seen, the entire print head array 77 isbetween these two pairs. By avoiding having any of the print headsseparated by transport rollers possible slippage errors are reduced,resulting in better left justification of the lines of the printedaddress.

The Print Head Array

The print head array 77 is located just inside housing 3 and is shown inFIGS. 4, 5, 6, and 7. It consists of six dot matrix heads, five for theaddress lines and a sixth for the bar code.

Due to the difficulty of spacing the heads side by side (due to spacelimitations), the print heads are arranged in an array, that is, theyare staggered (offset) longitudinally along the lines. This means thatprinting control software must adjust the timing of printing along eachline to compensate for the offset positions of the heads, i.e., thealgorithm adjusts the printing timing so the lines are properlypositioned in the finished address.

A single, flat printing platen is positioned between pairs of transportrollers 67 and 69 so that the envelope 7 passes over it. The entireprint head array 77 is mounted above this single platen. It consists ofsix print heads 81, 83, 85, 87, 89, and 92. The print heads aresupported by support arm 97 (FIG. 7); and each print head has a mountingflange (such as flange 88 for head 87) mounted on arm 97. Electricalleads 90 connect the print heads to an internal system controller 121.Controller 121 is connected also to external computer 123.

Print heads 83 and 81 are the leading heads (printing first); as shown,they print the first and fifth lines of the address. 85 is next,printing the second line; 87 is next, printing the fourth line; and 89and 92 are next, and are in parallel, printing the third line and thebar code line, respectively. Thus, the computer algorithm should bedesigned so printing of the individual lines starts with head 81 and 83first, followed in sequence starting printing by 85, then 87, and then89 and 92 together. We refer to this print head arrangement, in whichprinting is done in parallel, with varying line starting times, and someof the print heads which are not adjacent (separated by one or morelines; for example, heads 81 and 83 in FIG. 4)), starting atsubstantially the same times, as a non-sequential, staggered print headarray.

This does not mean that the printing of one line must be completedbefore the next one is started, but, rather, that the printing of theindividual lines takes place simultaneously with printing starting atdifferent times for each line. That is, the time of commencement ofprinting of the individual lines varies, depending upon the extent towhich the print head for the particular line is offset, but all sixlines are being printed together in parallel.

A printing ribbon 91 passes between the print head array 77 and printingplaten 75. It comes from feed reel 93 and is wound up on take-up reel95.

The Position Sensors

In order to control envelope feed and to properly position the addressand bar code on the envelopes, it is necessary to know the position ofthe envelopes as they pass through the feed rollers and the transportrollers. This is accomplished by use of position sensors coupled to theinternal system controller 121.

The sensors are each made up of a reflective object transducerpositioned in the envelope path to detect the presence or absence of anenvelope in a specific position. The first sensor 101 is in the pathbetween the second feed roller 41 and the first transport roller 61. Thesecond sensor 103 is between the first and second transport rollers 61and 67. The third sensor 102 is mounted on the bottom of the printplaten 75 between the last entering pair of transport rollers 67 andeither before or in line with the first of the print heads.

Position tracking is accomplished with the circuit of the internalsystem controller 121. It is an electronic control system which respondsto signals picked up by the sensor 115 from timing control wheel 111,described below, and to signals from sensors 101, 102, and 103. Thesignals are directly related to the distance which each envelope travelsand are used to control when each print head starts to print and at whatspeed it should print.

If we assume that an envelope has started to move through gate 32 in thefeed wall 31, driven by feed rollers 35 and 41, then it will interceptsensor 101 shortly after its leading edge passes through nip 51. Nocontrolling action is taken at this time. When the envelope's leadingedge passes through transport rollers 61 and intercepts sensor 103,circuitry is thereby activated to disengage clutch 42 controlling thefeed rollers and causes them to stop being driven. Removal of power fromthe feed rollers will have no effect upon envelope motion, since thefeed rollers are on one-way bearings and, by that time, the firsttransport roller 61 will be drawing the envelope along. This removal ofpower, however, prevents the feed rollers from starting to feed a secondenvelope.

When the envelope's leading edge passes through the second set oftransport rollers 67 and intercepts sensor 102, the printing sequencewill be activated to synchronize the operation of print head array 77with the position of the envelope. Locating sensor 102 as close aspossible to where printing commences is useful for achieving uniformcharacter spacing and good left justification. Our preferred locationfor sensor 102 is in line with the first print heads reached (81 and 83of FIG. 4). The printing sequence will then be activated by sensor 102to synchronize the operation of print head array 77 with the position ofthe envelope.

When the trailing edge of the envelope reaches the first sensor 101, thefeed rollers are again actuated, starting the next envelope through theprinting cycle.

This control could be accomplished through use of sensor 103 only forboth purposes. This, however, results in more gap between envelopes anda slower overall throughput for the machine.

The Timing Mechanism

The drive motor 57 (FIG. 5) is coupled to and drives all of the feed andtransport rollers. It is also directly coupled to timing control wheel111 which has equally spaced timing slots 113 about its periphery.

The rate of printing is controlled by the speed of drive motor 57.Because the drives are coupled to the motor, the motor speed is directlyrelated to the rate of motion of the envelopes. Thus, the envelope speedis directly related to the speed of rotation of timing control wheel111. Wheel 111 normally rotates at about 5,500 RPM.

Wheel 111 has slots 113 so spaced that the distance between them isequivalent to 0.00793" of linear movement of the envelopes; and a sensor115 is mounted about the wheel 113 so as to detect the gaps or slots113. This sensor 115 is connected to the internal system controller 121and so serves to synchronize the printing with the envelope's linearmotion, i.e., this electronic control system tells each print head whento commence to print and the rate at which it should print.

We have found that we can print at a linear speed of about 16 inches persecond. This equates to about 7,600 small (#6) envelopes per hour, orabout 5,400 large (#10) envelopes per hour.

Computer Control

Electronic control of the system is through internal system controller121 which is connected to, and, with appropriate software, controls, thefeed and transport rollers and the print heads. Flow charts for atypical program are shown in FIGS. 10, 11, 12, and 13.

The software flowcharts show status loop (FIG. 11), communicationsinterrupt (FIG. 12), and print interrupt (FIG. 13).

An interrupt is an event triggered by the hardware in the system; and itcauses a certain section of the software in the internal systemcontroller 121 to be implemented. It may occur asynchronously withrespect to other sections of the software. In our envelope addressingsystem there are two types of interrupt: the communications interrupt(FIG. 12) which accepts address data from the external computer 123, andthe print interrupt (FIG. 13) which occurs each time a gap 113 in timingcontrol wheel 111 is sensed (FIGS. 5 and 10). The print interrupt isused to synchronize the firing of the print heads of array 77 (i.e.,printing dots on paper) with the motion of the envelopes 7 past theprint heads.

The status loop is considered the "foreground task" because it is alwaysrunning and controlling operation of our envelope addressing system. Thetwo interrupt routines are considered "background tasks" because theyare only run when their corresponding hardware event occurs. When aninterrupt is through, control passes back to the status loop at the sameposition in its cycle as before the interrupt.

The status loop (FIG. 11) works upon initialization to clear RAM memory.It then checks the front panel switches 9 until it finds either the"test message" or "on-line" switch actuated.

If "test message", a previously stored address is loaded into the printbuffer and is scanned for a valid zip code. The zip code is converted toa bar code having specifications conforming to Postal regulations, andthe entire address (legible and bar) is converted to a graphics imageand placed in the print buffer. Motor 57 is turned on to enableprinting, and clutch 42, controlling feed rollers 35 and 41, is actuatedto start envelope feeding. The motor and clutch have been controlled byinternal system controller 121.

If the "on-line" switch has been actuated while the unit is off, thecontroller 121 is enabled to accept address data from external computer123 and to print it. (If actuated while the unit is on, the switch turnsit off). When address data is received, a bar code is produced, theaddress is converted to graphic image, and printing is enabled as in thetest message processing routine. It should be noted that, since thecommunications interrupt has been previously enabled, there must be datain the communications buffer to print.

The communications interrupt routine (FIG. 12) is called whenever a newbyte of data is transmitted to the internal system controller 121 fromthe external computer 123. There are two such routines, serial interruptand parallel interrupt (FIG. 10). The difference between them is thatthe serial interrupt is called when information is received through theserial port, and the parallel interrupt is called when information isreceived through the parallel port (Normally only one of these will beused for a particular installation). Both routines work in the samefashion except for the source of data.

When data is received from the communications port, it is checked forformat error. If error has occurred, the data is discarded, and an errorflag is set for the status loop, to shut down operation until it hasbeen corrected. If the data is valid, it is stored in the communicationsbuffer for later use. When this buffer is full, communications aretemporarily stopped.

The communications buffer is the region in the RAM memory of theinternal system controller 121 set aside for storing incoming addresses.In the present configuration of the machine, there is room for up tonine addresses. Thus, the external computer 123 may transmit data at afaster rate than the print heads are capable of printing, and up to nineaddresses may be sent. When nine addresses are stored in thecommunications buffer, the program shuts off communications. Thisprevents the external computer 123 from sending address information tothe printer. After a communications interrupt is through, the statusloop routine will be put back in control at the same point in executionas it was before the interrupt. As an address is printed, the addressinformation in the pertaining section of communications buffer iserased, and that section of the buffer is then free to receive anotheraddress. Communications is then restarted, enabling the externalcomputer 123 to again send address data to the internal controller 121.

The print buffer is a region in RAM memory of the internal systemcontroller 121 in which the "graphics representation" of data to beprinted is stored. What we call "graphics representation" is a mappingof the individual dots which must be printed in order to producereadable characters, and also includes the bar code, obtained byconversion of the zip code in the address. This contrasts with the datain the communications buffer, which is in the form of ASCII data (amachine format of the data). This print buffer is filled with data priorto printing, and, as printing progresses, is cleared to make way for thenext address to be printed.

Printing is controlled by the position sensors 101 and 103 and the printinterrupt. The sensors are read, and if the second sensor 103 detectsthe presence of an envelope, clutch 42 is shut off and the counting modeis entered. This means that a counter in controller 121 is incrementeduntil it shows that the envelope 7 is at the proper position to startprinting. At this time the printing mode is enabled and the countingmode is disabled except to control printing speed (for proper spacing ofcharacters and of the bars in the bar code). The time of enablement ofthe printing mode varies between the individual lines to adjust for therelative positions of the individual print heads in the print headarray. When the printing mode is enabled, the program loads the printheads with data from the print buffer.

If the software is not in printing or counting mode, it is counting thenumber of interrupts which have occurred since the clutch was turned on.If too many have been executed, it means that an envelope has nottraveled out of the bin (due either to feed failure or to lack ofenvelopes). If such occurs, a signal is given, the motor is shut off,error light is turned on, and the controller returns to the status loop.

Operation

To operate our bar code addressing system, the desired addresses areentered into the data bank of external computer 123; the size of nip 51and the gap between the print heads and platen is set by adjusting theknob which turns eccentrics 53 and 55 for the envelope thickness;slidable fence 34 is set for the width of the envelopes; and envelopes 7are loaded into bin 5 face up.

It is then only necessary to start the system.

When the machine is on line and has valid address data, the clutch isengaged causing feed rollers 35 and 41 to turn. The leading edge of theenvelope 7 located at the bottom of the stack will be in contact withthe frictional surface 49 of the rounded control surface 45. The firstfeed roller 35, because of its lobed surface 36, will cause the stack ofenvelopes to vibrate and the envelope at the bottom to lose contact withfrictional surface 49. The envelope is then drawn by second feed roller41 (which has a surface of higher friction than surface 47 on controlsurface 45) through the transverse opening or nip. The leading edge ofenvelope 7 then passes to first transport roller 61.

After the leading edge of the first envelope passes the first transportrollers 61, it passes by sensor 103 which disengages the clutch 42 andthus stops feed rollers 35 and 41 from being driven. Since rollers 35and 41 are on unidirectional bearings, they can be driven when theclutch 42 is engaged but will rotate freely when an envelope is beingpulled past them by the transport rollers and the clutch is disengaged.As the trailing edge of each envelope passes each feed roller, theroller stops rotating which prevents the next envelope from being driventowards gate 32.

When the leading edge of the envelope passes through transport rollers67, it then passes sensor 102 and so starts the printing timingmechanism.

The first envelope then passes under the print head array 77. Five ofthe print heads in the array of 6 print one line of the address, and thesixth print head prints the line of bar code. The computer softwareobtains the zip code for the bar code from the address in the data bankand converts it to the type bar code desired.

When the trailing edge of the first envelope passes the first sensor101, the clutch is re-energized and the next envelope begins its motiontowards gate 32.

In summary, stacked envelopes are fed through nip 51 one at a time andtheir position sensed by sensors 101, 103, and 102, so that the feedingof the envelopes and operation of the print heads will be controlled andsynchronized. The system will then operate by itself and print addressesand bar codes on the envelopes. The various controls built into oursystem will serve to assure that placement and size of the bar code willsatisfy Postal regulations.

We claim:
 1. Apparatus for printing a plurality of elongated addresslines, each address line elongated in a first direction, and the addresslines from top to bottom comprising, consecutively, at least first,second, third and fourth lines spaced from each other in a seconddirection, perpendicular to said first direction; said apparatuscomprising:a plurality of print heads, one for printing each addressline, comprising at least first, second, third and fourth print headsassociated with said first, second, third and fourth consecutive lines,respectively, associated with a stationary substantially flat platen;and means for mounting said print heads so that at least two of saidprint heads overlap each other in said first direction, the print headswhich overlap not being consecutive address line printing print heads,so that the positioning of the print heads in said first direction isnot in sequence with the numbers of the line printed thereby, and sothat the print heads are grouped together in association with saidstationary platen.
 2. Apparatus as recited in claim 1 further comprisinga plurality of pairs of transport rollers associated with said groupedprint heads and platen, said plurality of pairs of transport rollersincluding first and second pairs of transport rollers, said means formounting said print heads and said print heads being disposed, in saidfirst direction, entirely between said first and second pairs oftransport rollers, with no other transport rollers or other transportingmeans between said print heads in said first direction.
 3. Apparatus asrecited in claim 2 further comprising a sensor for detecting the leadingedge of an envelope to be printed by said apparatus, and generating aprint signal in response to said sensing, said sensor being positioned,in said first direction, between said first pair of rollers and saidprint heads.
 4. Apparatus as recited in claim 2 wherein said transportrollers have elastomeric material surfaces for engaging envelopes to betransported thereby, each having a length greater than the width of anenvelope being transported thereby; and further comprising:a guide fenceproximate to at least said first pair of transport rollers for aligningthe bottom edge of an envelope being transported thereby with said printheads, each of said rollers of said first pair having a first endadjacent said guide fence, and a second end remote from said guidefence; first biasing means having a first biasing force, for biasingsaid first ends of said first pair of rollers together; a second biasingmeans having a second biasing force, for biasing said second ends ofsaid first pair of rollers together; and said first biasing force beinggreater than said second biasing force so that the effective diameter ofat least one of said first pair of rollers is smaller at said first endthereof, so that an envelope being transported thereby is biased againstsaid guide fence during transport thereof by said first pair. 5.Apparatus as recited in claim 4 wherein said first and second biasingmeans are loop springs.
 6. Apparatus as recited in claim 2 furthercomprising electronic controller means to vary the time each of saidprint heads starts to print to correspond to the spacing of that printhead in said first direction so that all the lines may be printed withan aligned margin.
 7. Apparatus as recited in claim 6 further comprisinga leading edge sensor positioned in the path of an envelope to beimprinted by said apparatus, before said platen, said sensor providing asignal to said electronic controller to establish a "start" time forprinting.
 8. Apparatus as recited in claim 6 wherein said transportrollers have elastomeric material surfaces for engaging envelopes to betransported thereby, each having a length greater than the width of anenvelope being transported thereby; and further comprising:a guide fenceproximate to at least said first pair of transport rollers for aligningthe bottom edge of an envelope being transported thereby with said printheads, each of said rollers of said first pair having a first endadjacent said guide fence, and a second end remote from said guidefence; first biasing means having a first biasing force, for biasingsaid first ends of said first pair of rollers together; a second biasingmeans having a second biasing force, for biasing said second ends ofsaid first pair of rollers together; and said first biasing force beinggreater than said second biasing force so that the effective diameter ofat least one of said first pair of rollers is smaller at said first endthereof, so that an envelope being transported thereby is biased againstsaid guide fence during transport thereof by said first pair. 9.Apparatus as recited in claim 8 wherein said first and second biasingmeans are loop springs.
 10. Apparatus as recited in claim 1 furthercomprising:a plurality of pairs of transport rollers associated withsaid grouped print heads and platen to draw envelopes past said printheads in said first direction, said rollers having elastomeric materialsurfaces for engaging envelopes, and each having a length greater thanthe width of an envelope being transported thereby; a guide fenceproximate to at least a first pair of said pairs of transport rollersfor aligning the bottom edge of an envelope being transported therebywith said print heads, each of said rollers of said first pair having afirst end adjacent said guide fence, and a second end remote from saidguide fence; a first biasing means having a first biasing force, forbiasing said first ends of said first pair of rollers together; a secondbiasing means having a second biasing force, for biasing said secondends of said first pair of rollers together; and said first biasingforce being greater than said second biasing force so that the effectivediameter of at least one of said first pair of rollers is smaller atsaid first end thereof, so that an envelope being transported thereby isbiased against said guide fence during transport thereof by said firstpair.
 11. Apparatus as recited in claim 1 further comprising controllermeans for providing addresses to the print heads for printing, saidaddress each having a zipcode therein, and said controller comprisingmeans for scanning each address and converting zipcode informationtherein to a bar code, and controlling one of said print heads so thatit prints said bar code.
 12. Apparatus as recited in claim 1 whereinsaid print heads comprise six print heads.
 13. Apparatus as recited inclaim 12 wherein said means for mounting said print heads mount saidprint heads so that said first and fifth print heads are substantiallyin alignment in said second direction, followed by the second printhead, fourth print head, and third and sixth print heads, the third andsixth print heads being in substantial alignment in said seconddirection.
 14. Apparatus as recited in claim 1 wherein the at least twoprint heads that overlap are in line with each other in said seconddirection.
 15. Apparatus as recited in claim 1 wherein at least one ofsaid print heads comprises means for printing bar code information. 16.Apparatus as recited in claim 15 further comprising controller means forproviding addresses to the print heads for printing, said address eachhaving a zipcode therein, and said controller comprising means forscanning each address and converting zipcode information therein to abar code, and controlling one of said print heads so that it prints saidbar code.